Asilah lies on the rail line linking Tangier to Rabat, Casablanca, Marrakech, Meknes, and Fez. The train station is a 2 km walk along the beach northeast of town; alternatively, minibuses sometimes meet the train in hopes of collecting passengers. It should also be easy to flag down a grand taxi along the road.
From Tangier, you can hire a grand taxi for the ~1 hour drive to Asilah. It should cost around 30 Euros each way.
The bus station for locations such as Fes, Meknes, Marrakesh is on main road opposite Shell gas station due east up street from northern end of the medina walk past cemetary and turn left on main road one block to Shell station. To Meknes MD50; to Marrakesh MD130 as of June 2011